from bs4 import BeautifulSoup


def get_a_tag_titles(html_content):
    """
    从 HTML 内容中提取所有 <a> 标签的 title 属性
    """
    soup = BeautifulSoup(html_content, 'html.parser')

    # 查找所有 <a> 标签
    a_tags = soup.find_all('a')

    titles = []
    for a_tag in a_tags:
        # 检查是否有 title 属性
        if a_tag.has_attr('title') and a_tag.has_attr("href"):
            titles.append({
                "title": a_tag['title'],
                "href": a_tag['href']
            })
        # 如果没有 title，可以获取文本内容作为备选
        # elif a_tag.text.strip():
        #     titles.append(a_tag.text.strip())

    return titles


# 使用示例
# html_content = """
# <div>
#     <a href="/page1" title="首页链接">首页</a>
#     <p>一些文本</p>
#     <a href="/page2" title="关于我们">关于</a>
#     <a href="/page3">没有title的链接</a>
#     <div>
#         <a href="/page4" title="联系信息">联系我们</a>
#     </div>
# </div>
# """

# titles = get_a_tag_titles(html_content)
# print("找到的 title 列表:")
# for i, title in enumerate(titles, 1):
#     print(f"{i}. {title}")


def read_from_file(file_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        str1 = file.read()
        return str1

if __name__ == '__main__':
    res = read_from_file('C:/workspaceFinal/pycharm/dai_seb_qiu_calc/data/list_data.txt')
    titles = get_a_tag_titles(res)
    print("找到的 title 列表:")
    for i, title in enumerate(titles, 1):
        print(f"{i}. {title['title']}")


